<script th:inline="javascript">
    var ctp = [[${contextPath}]];
</script>
<script type="text/javascript" src="static/lib/jquery/jquery-3.0.0.min.js" charset="utf-8"></script>
<script type="text/javascript" src="static/lib/amazeui/amazeui.min.js" charset="utf-8"></script>
<script type="text/javascript" src="static/lib/amazeui/iscroll.js" charset="utf-8"></script>
<script type="text/javascript" src="static/js/app.js" charset="utf-8"></script>
<script type="application/javascript">
    var userName = localStorage.getItem("data_view_user_name");
    $("#userNameText").text(userName);
    var token = localStorage.getItem("data_view_token");
    $(function () {
        auth();
    });

    function auth() {
        if (!token) {
            window.location.href = "login";
        }
        $.ajax({
            type: "post",
            url: ctp + "/auth",
            cache: false,
            async: false,
            data: {"token": token},
            success: function (result) {
                if (result.code == "500") {
                    alert(result.msg);
                } else if (result.code == "401" || result.code == "403") {
                    alert("请先登录！");
                    logout();
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("网络异常");
            }
        });
    }

    function logout() {
        localStorage.removeItem("data_view_token");
        window.location.href = "login";
    }

    Date.prototype.format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1,                 //月份
            "d+": this.getDate(),                    //日
            "h+": this.getHours(),                   //小时
            "m+": this.getMinutes(),                 //分
            "s+": this.getSeconds(),                 //秒
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度
            "S": this.getMilliseconds()             //毫秒
        };
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            }
        }
        return fmt;
    }

    function getCNOptions(options) {
        options.language = "zh-CN";
        options.languages = {
            'zh-CN': {
                array: '数组',
                auto: '自动',
                appendText: '追加',
                appendTitle: '在此字段后追加一个类型为“auto”的新字段 (Ctrl+Shift+Ins)',
                appendSubmenuTitle: '选择要追加的字段类型',
                appendTitleAuto: '追加类型为“auto”的新字段 (Ctrl+Shift+Ins)',
                ascending: '升序',
                ascendingTitle: '升序排列${type}的子节点',
                actionsMenu: '点击打开动作菜单(Ctrl+M)',
                cannotParseFieldError: '无法将字段解析为JSON',
                cannotParseValueError: '无法将值解析为JSON',
                collapseAll: '缩进所有字段',
                compactTitle: '压缩JSON数据，删除所有空格 (Ctrl+Shift+\\)',
                descending: '降序',
                descendingTitle: '降序排列${type}的子节点',
                drag: '拖拽移动该节点(Alt+Shift+Arrows)',
                duplicateKey: '重复键',
                duplicateText: '复制',
                duplicateTitle: '复制选中字段(Ctrl+D)',
                duplicateField: '复制该字段(Ctrl+D)',
                duplicateFieldError: '重复的字段名称',
                empty: '清空',
                expandAll: '展开所有字段',
                expandTitle: '点击 展开/收缩 该字段(Ctrl+E). \n' +
                    'Ctrl+Click 展开/收缩 包含所有子节点.',
                formatTitle: '使用适当的缩进和换行符格式化JSON数据 (Ctrl+\\)',
                insert: '插入',
                insertTitle: '在此字段前插入类型为“auto”的新字段 (Ctrl+Ins)',
                insertSub: '选择要插入的字段类型',
                object: '对象',
                ok: 'Ok',
                redo: '重做 (Ctrl+Shift+Z)',
                removeText: '移除',
                removeTitle: '移除选中字段 (Ctrl+Del)',
                removeField: '移除该字段 (Ctrl+Del)',
                repairTitle: '修复JSON：修复引号和转义符，删除注释和JSONP表示法，将JavaScript对象转换为JSON。',
                selectNode: '选择一个节点...',
                showAll: '展示全部',
                showMore: '展示更多',
                showMoreStatus: '显示${totalChilds}的${visibleChilds}项目.',
                sort: '排序',
                sortTitle: '排序${type}的子节点',
                sortTitleShort: '内容排序',
                sortFieldLabel: '字段：',
                sortDirectionLabel: '方向：',
                sortFieldTitle: '选择用于对数组或对象排序的嵌套字段',
                sortAscending: '升序排序',
                sortAscendingTitle: '按照该字段升序排序',
                sortDescending: '降序排序',
                sortDescendingTitle: '按照该字段降序排序',
                string: '字符串',
                transform: '变换',
                transformTitle: '筛选，排序，或者转换${type}的子节点',
                transformTitleShort: '筛选，排序，或者转换内容',
                extract: '提取',
                extractTitle: '提取这个 ${type}',
                transformQueryTitle: '输入JMESPath查询',
                transformWizardLabel: '向导',
                transformWizardFilter: '筛选',
                transformWizardSortBy: '排序',
                transformWizardSelectFields: '选择字段',
                transformQueryLabel: '查询',
                transformPreviewLabel: '预览',
                type: '类型',
                typeTitle: '更改字段类型',
                openUrl: 'Ctrl+Click 或者 Ctrl+Enter 在新窗口打开链接',
                undo: '撤销上次动作 (Ctrl+Z)',
                validationCannotMove: '无法将字段移入其子节点',
                autoType: '字段类型 "auto". ' +
                    '字段类型由值自动确定 ' +
                    '可以为 string，number，boolean，或者 null.',
                objectType: '字段类型 "object". ' +
                    '对象包含一组无序的键/值对.',
                arrayType: '字段类型 "array". ' +
                    '数组包含值的有序集合.',
                stringType: '字段类型 "string". ' +
                    '字段类型由值自动确定，' +
                    '但始终作为字符串返回.',
                modeCodeText: '代码',
                modeCodeTitle: '切换至代码高亮',
                modeFormText: '表单',
                modeFormTitle: '切换至表单编辑',
                modeTextText: '文本',
                modeTextTitle: '切换至文本编辑',
                modeTreeText: '树',
                modeTreeTitle: '切换至树编辑',
                modeViewText: '视图',
                modeViewTitle: '切换至树视图',
                modePreviewText: '预览',
                modePreviewTitle: '切换至预览模式',
                examples: '例子',
                default: '缺省',
                containsInvalidProperties: '包含无效的属性',
                containsInvalidItems: '包含无效项目'
            }
        }
        return options;
    }

</script>